<p>浮点数之间的等值判断，基本数据类型不能用==来比较，包装数据类型不能用equals来判断</p>
<pre>
  浮点数采用“尾数+阶码”的编码方式，类似于科学计数法的“有效数字+指数”的表示方式。二进制无法精确表示大部分的十进制小数，具体原理参考《码出高效》
改进方式:
1）指定一个误差范围，两个浮点数的差值在此范围之内，则认为是相等的
    float a = 1.0f - 0.9f;
    float b = 0.9f - 0.8f;
    float diff = 1e-6f;

    if (Math.abs(a - b) < diff) {
        System.out.println("true");
    }
2) 使用BigDecimal来定义值，再进行浮点数的运算操作
    BigDecimal a = new BigDecimal("1.0");
    BigDecimal b = new BigDecimal("0.9");
    BigDecimal c = new BigDecimal("0.8");

    BigDecimal x = a.subtract(b);
    BigDecimal y = b.subtract(c);

    if (x.equals(y)) {
        System.out.println("true");
    }
</pre>
<pre>
  Negative example:
  float g = 0.7f-0.6f;
  float h = 0.8f-0.7f;
  if (g == h) {
  System.out.println("true");
</pre>
<pre>
  Positive example:
  double dis = 1e-6;
  double d1 = 0.0000001d;
  double d2 = 0d;
  System.out.println(Math.abs(d1 - d2) < dis);
</pre>
